package com.xuelang.pipeline.client.pipeline.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * <p>部署单DTO</p>
 *
 * @author : yixin.lys
 * @date : 2024-06-25 15:44
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeploymentUnitDTO {

    /** 主键，自增 */
    private Integer id;

    /** 任务实例编码 */
    private String taskInstanceCode;

    /** 部署状态 */
    private String taskInstanceStatus;

    /** 流水线实例编码 */
    private String pipelineInstanceCode;

    /** 所属环境Uuid */
    private String environmentUuid;

    /** 所属组件的Label */
    private String componentLabel;

    /** 部署版本号 */
    private String deploymentVersion;

    /** 编排版本 */
    private String programVersion;

    /** 部署单 */
    private String deploymentName;

    /** 目标副本，正整数 */
    private Integer targetReplicas;

    /** 部署策略，1灰度批次,0滚动发布 */
    private String deploymentWay;

    /** 分批次数，正整数 */
    private Byte batchCount;

    /** 部署进度 */
    private String deploymentProgress;

    /** 创建人 */
    private String creatorId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /** 更新人ID */
    private String updaterId;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

}
